流量控制_guhsw30cvdc7wgyi

    543
    最后修改于

    用于控制发送方发送速率太快,接收方来不及接收的问题。是端到端的流量控制。
    接收方在连接建立以及通信过程中都会指明自己的 rwnd 以限制 cwnd。
    rwnd 的动态特性可能导致死锁的产生。
    在此基础上引入一个持续计时器。只要连接一方收到零窗口通知,启动持续计时器。当持续计时器到期时,发送零窗口探测报文段。对方则对这个报文段进行确认,同时给出当前窗口值。
    零窗口限制对:零窗口探测报文,确认报文段,携带紧急数据的报文段不生效,即使接收窗口为 0,也必须接收。

    Negle 算法

    发送应用进程把要发送数据逐个放入发送缓存,发送方就先发送第一个字节,缓存后续字节。发送方收到对第一个字节的确认后,再把发送缓存中的所有数据字节组装成一个报文段发送,同时对后续数据进行缓存。
    只有在收到前一个报文段的确认之后再发送下一个把文段。当到达的报文段达到发送窗口的一半或是最大报文段长时立即发送。
    当数据到达较快而网络速率较慢时,可以明显减少网络带宽占用。

    糊涂窗口综合征

    接收缓存已满,但是上层应用一次只从接收缓存中取一个字节,这时候如果向发送方确认,腾出一字节数据,发送方也只能发送一字节,这是低效率的。
    可以让接收方等待一段时间,或者接收缓存足够容纳一个最大报文段长,或是接收缓存空闲一半时,再发出确认报文。发送方将数据累计成足够大的报文段或是接收缓存一半大小时再发送。

    • 🥳0
    • 👍0
    • 💩0
    • 🤩0